﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using BLL;
using HRP.Utilidades;

namespace HRP.Private.Utilizadores
{
    public partial class Criar : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {
            criarUserLoginBT.Click += criarUserLoginBT_Click;
            if (!Page.IsPostBack)
                carregarEmpresas();
            formPanel.Visible = true;
            msgPanel.Visible = false;
        }

        void carregarEmpresas()
        {
            empresasCheckList.DataSource = Cliente_BLL.Instance.ObterEmpresasDoClienteTotal((int)Session["idclient"]);
            empresasCheckList.DataBind();
        }
        protected void criarUserLoginBT_Click(object sender, EventArgs e)
        {
            if (!Page.IsValid)
            {
                return;
            }
            else
            {
                //dar acesso empresa
                string newPassword = utilidades.GerarPassword();
                if (BLL.Cliente_BLL.Instance.novoUtilizador(nameTB.Text, emailTB.Text, Convert.ToInt32(Session["idclient"]), newPassword))
                {                    
                    var client = Cliente_BLL.Instance.loginClient(emailTB.Text, newPassword);
                    for (int i = 0; i < empresasCheckList.Items.Count; i++)
                    {
                        if (empresasCheckList.Items[i].Selected)
                        {
                            Empresa_BLL.Instance.activarEmpresaUser(Convert.ToInt32(empresasCheckList.Items[i].Value), Convert.ToInt32(client.id), true);
                        }
                    }
                    string msg = "Dados de acesso ao Sistema: <br />";
                    msg += "Username: " + emailTB.Text + "<br />" + "Password: " + newPassword;
                    msg += "<br /><a href='http://hrportal.emicdata.org'>Aceda já a sua conta</a>";
                    ClassEmail.sendMail(emailTB.Text, emailTB.Text, "", "Dados de Acesso", msg);
                    formPanel.Visible = false;
                    msgPanel.Visible = true;
                }
            }
        }
    }
}